With a conventional approach to backing up virtual machines, and based on a schedule specified in backup policies, a set of virtual machines are backed up in a scheduled backup run irrespective of the amount of data change since the previous backup. This creates irregular incremental backup images where some of the backup points have little new data while other backup points have a significant amount of new data in the backup images.
The time schedule based conventional approach has several drawbacks. For example, periodic full backups are scheduled that are spaced by a certain number of incremental backups irrespective of the amount of data change since the previous full backup. This may result in inefficient use of backup storage space. Further, because incremental backups are scheduled at fixed intervals, an incremental backup can potentially contain a large amount of new data. If such an incremental backup image is lost or corrupted, a significant data loss may result. In another scenario, if a reversion to a state before the incremental backup with a large amount of new data was performed is desired, the reversion operation may take a significant amount of time to complete due to the size of the incremental backup.
Furthermore, backups based on a fixed schedule may cause performance degradation. For example, when a large number of virtual machines are scheduled to be backed up in a same backup run, there may be not enough system resources left for applications running at the time of the backup run, and the application performance may suffer as a result.